Most high-level network protocols, such as ISO Transport Protocols, TCP, or UDP, only provide unicast transmission services. That is, nodes of the network only have the ability to send to one other node at a time. This inherently point-to-point transmission service must perform replicated unicasts to send multiple copies of the transmission data in turn to each destination.
On the other hand, multicast transmission services provide an efficient way of disseminating data from a single sender to multiple receivers. Instead of sending a separate copy of the data to each individual recipient, the sender just sends a single copy which is delivered to all of the receivers. Reliable, fault tolerant existing multicast solutions, however, utilize hardware level implementations which naturally restrict portability and limit the deployability of the multicast transmission services. These hardware level solutions, which include server-based and router-based solutions, are not economically scalable and are difficult to administer for supporting multicast and broadcast applications. There is a significant need for a software-based solution that is simple to use and administer, economically scalable, portable over a wide variety of operating environments, and designed with features to support broad communication services, enabling point-to-point, multicast, and broadcast services.